#define  _CRT_SECURE_NO_WARNINGS 1

#include <iostream>
using namespace std;

template<typename T>
void Swap(T& left, T& right)
{
	T tmp = left;
	left = right;
	right = tmp;
}

template<typename T>
T Add(T& a1, T& a2)
{
	return a1 + a2;
}


int main()
{
	int a1 = 1, a2 = 2;
	double d1 = 1.0, d2 = 2.0;
	int ret = Add<int>(d1, a2);
	return 0;
}